package br.udesc.lpg2.graphics;

import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JLabel;
import javax.swing.border.LineBorder;

import br.udesc.lpg2.Carta;

public class CartaPainel extends JLabel {
	
	private static final long serialVersionUID = 1L; 
	private int pontosAtaque;
	private int pontosDefesa;
	private String nome;
	private String status;
	
	public CartaPainel(String nome, int pontosAtaque, int pontosDefesa) {
		this.nome = nome;
		this.pontosAtaque = pontosAtaque;
		this.pontosDefesa = pontosDefesa;
		this.status = "";
		this.setBackground(Color.WHITE);
		this.setText(this.nome);
	    this.setBorder(LineBorder.createGrayLineBorder());
	}

	public void setPontosAtaque(int pontosAtaque) {
		this.pontosAtaque = pontosAtaque;
	}

	public int getPontosAtaque() {
		return pontosAtaque;
	}

	public void setPontosDefesa(int pontosDefesa) {
		this.pontosDefesa = pontosDefesa;
		if(this.pontosDefesa < 0) this.pontosDefesa = 0;
	}

	public int getPontosDefesa() {
		return pontosDefesa;
	}
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Dimension getPreferredSize() {
        return new Dimension(140, 200);
    }
	
    public Dimension getMinimumSize() {
        return new Dimension(140, 200);
    }
    
    public Dimension getMaximumSize() {
        return new Dimension(140, 200);
    }
    
    public void setStatus(String status) {
    	this.status = status;
    	this.atualiza();
    }
    
    public void atualiza(Carta carta) {
		this.setNome(carta.getNome());
		this.setPontosAtaque(carta.getPontosAtaque());
		this.setPontosDefesa(carta.getPontosDefesa());
		this.atualiza();
	}
	
	public void atualiza() {
		this.setText("<html>" +
					 "	<center>" +
	            	 "		<font size=+1><i>" + this.nome + "</i></font>" +
					 "      <br><br>" + this.status + "<br><br>" +
	            	 "		<font size=+1 color='red'>Ataque: " + this.pontosAtaque + "</font>" +
					 "		<br>" +
	            	 " 		<font size=+1 color='blue'>Defesa: " + this.pontosDefesa + "</font>" +
					 "	</center>" +
					 "</html>");
	}
	
}
